package com.kb.entity.kbidm;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

/**
 * 注册输入实体
 */
@Data
public class CustomerRequest {

    /**
     * 手机号
     */
    @JsonProperty("PhoneNumber")
    private String phoneNumber;
    @JsonProperty("Rkey")
    private String Rkey;

    /**
     * 验证码
     */
    @JsonProperty("userInputCode")
    private String userInputCode;

    /**
     * 账号信息
     */
    @JsonProperty("Account")
    private Account account;

    /**
     * 客户主要信息
     */
    @JsonProperty("MainInformation")
    private MainInformation MainInformation;

    /**
     * 开票信息
     */
    @JsonProperty("InvoiceInfo")
    private InvoiceInfo InvoiceInfo;


    // 账户信息类
    @Data
    public static class Account {

        /**
         * 邮箱
         */
        @JsonProperty("Email")
        private String Email;

        /**
         * 手机号
         */
        @JsonProperty("TelNumber")
        private String TelNumber;

        /**
         * 密码
         */
        @JsonProperty("Password")
        private String Password;

        /**
         * 第二次密码
         */
        @JsonProperty("RePassword")
        private String RePassword;
        /**
         * 注册联系人
         */
        @JsonProperty("Contact")
        private String Contact;
    }

    // 主信息类
    @Data
    public static class MainInformation {
        /**
         * 公司名称
         */
        @JsonProperty("CompanyName")
        private String CompanyName;

        /**
         * 公司简称
         */
        @JsonProperty("CustNickName")
        private String CustNickName;

        /**
         * 统一社会信用代码
         */
        @JsonProperty("UnifiedSocialCreditCode")
        private String UnifiedSocialCreditCode;

        /**
         * 注册地址
         */
        @JsonProperty("CompanyRegisteredAddress")
        private String CompanyRegisteredAddress;

        /**
         * 营业执照路径
         */
        @JsonProperty("CompanyLicensePath")
        private String CompanyLicensePath;
    }

    // 发票信息类
    @Data
    public static class InvoiceInfo {
        /**
         * 发票抬头
         */
        @JsonProperty("Invoice_Header")
        private String Invoice_Header;

        /**
         * 发票类型 1-普通发票 2-增值税票
         */
        @JsonProperty("type")
        private Integer type;

        /**
         * 开户银行
         */
        @JsonProperty("Deposit_Bank")
        private String Deposit_Bank;

        /**
         * 银行账号
         */
        @JsonProperty("Bank_Account")
        private String Bank_Account;

        /**
         * 纳税人识别号
         */
        @JsonProperty("Taxpayer_Number")
        private String Taxpayer_Number;

        /**
         * 联系人
         */
        @JsonProperty("Contact")
        private String Contact;

        /**
         * 电话
         */
        @JsonProperty("Contact_Tel")
        private String Contact_Tel;

        /**
         * 联系地址
         */
        @JsonProperty("Contact_Address")
        private String Contact_Address;

        /**
         * 邮寄地址
         */
        @JsonProperty("MailingAddress")
        private String MailingAddress;

        /**
         * 备注
         */
        @JsonProperty("F_Description")
        private String F_Description;
    }
}
